﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Secams.model
{
    public class Scoring
    {
        int _pointHit;
        int _pointMiss;
        int _pointCr;
        int _pointFa;

        public Scoring() { }

        public Scoring(int pointHit, int _pointMiss, int _pointCr, int _pointFa)
        {
            this.pointHit = pointHit;
            this.pointMiss = pointMiss;
            this.pointCr = pointCr;
            this.pointFa = pointFa;
        }

        public int pointHit
        {
            get { return _pointHit; }
            set { _pointHit = value; }
        }

        public int pointMiss
        {
            get { return _pointMiss; }
            set { _pointMiss = value; }
        }

        public int pointCr
        {
            get { return _pointCr; }
            set { _pointCr = value; }
        }

        public int pointFa
        {
            get { return _pointFa; }
            set { _pointFa = value; }
        }
    }

    public class Scenario
    {
        protected string _name = null;
        protected Scoring _scoring;

        protected List<NiEvent> _events = new List<NiEvent>();

        public Scenario(string name) 
        {
            _name = name;
        }

        public Scenario(string name, List<NiEvent> events) 
        {
            _name = name;
            _events = events;
        }
            

        public string name
        {
            get { return _name; }
            set { _name = value; }
        }

        public Scoring scoring
        {
            get { return _scoring; }
            set { _scoring = value; }
        }

        public List<NiEvent> events
        {
            get { return _events; }
        }

        public void addEvent (NiEvent niEvent)
        {
            _events.Add(niEvent);
        }

        public void addEvents(List<NiEvent> events)
        {
            _events.AddRange(events);
        }

        public int size()
        {
            return _events.Count;
        }

    }
}
